package com.HuiShou.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.HuiShou.common.annotation.Excel;
import com.HuiShou.common.core.domain.BaseEntity;

/**
 * 积分兑换记录对象 points_exchange_record
 * 
 * @author lyz
 * @date 2025-03-21
 */
@Data
public class PointsExchangeRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private String exchangeId;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 商品ID */
    @Excel(name = "商品ID")
    private String goodsId;

    /** 兑换数量 */
    @Excel(name = "兑换数量")
    private String quantity;

    /** 消耗总积分 */
    @Excel(name = "消耗总积分")
    private String pointsSpent;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    /** 收货地址 */
    @Excel(name = "收货地址")
    private String address;

    /** 物流信息 */
    private String logisticsInfo;

    /** 兑换时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "兑换时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;

    public void setExchangeId(String exchangeId) 
    {
        this.exchangeId = exchangeId;
    }

    public String getExchangeId() 
    {
        return exchangeId;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setGoodsId(String goodsId) 
    {
        this.goodsId = goodsId;
    }

    public String getGoodsId() 
    {
        return goodsId;
    }
    public void setQuantity(String quantity) 
    {
        this.quantity = quantity;
    }

    public String getQuantity() 
    {
        return quantity;
    }
    public void setPointsSpent(String pointsSpent) 
    {
        this.pointsSpent = pointsSpent;
    }

    public String getPointsSpent() 
    {
        return pointsSpent;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }
    public void setLogisticsInfo(String logisticsInfo) 
    {
        this.logisticsInfo = logisticsInfo;
    }

    public String getLogisticsInfo() 
    {
        return logisticsInfo;
    }
    public void setCreatedAt(Date createdAt) 
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() 
    {
        return createdAt;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("exchangeId", getExchangeId())
            .append("userId", getUserId())
            .append("goodsId", getGoodsId())
            .append("quantity", getQuantity())
            .append("pointsSpent", getPointsSpent())
            .append("status", getStatus())
            .append("address", getAddress())
            .append("logisticsInfo", getLogisticsInfo())
            .append("createdAt", getCreatedAt())
            .toString();
    }
}
